// 高阶函数 - 函数作为返回值

function makeFn () {
  let msg = 'hello world'
  return function () {
    console.log(msg)
  }
}

// const fn = makeFn()
// fn()

function once(fn) {
  let done = false
  return function () {
    if (!done) {
      done = true
      return fn.apply(this, arguments)
    }
  }
}

let pay = once(function(money) {
  console.log(`金额=${money}`)
})

pay(5)